﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
* 项目名称 ：APP.Trading.Handler
* 项目描述 ：
* 类 名 称 ：RechargeHandler
* 类 描 述 ：
* 所在的域 ：DESKTOP-07DQ4D0
* 命名空间 ：APP.Trading.Handler
* 机器名称 ：DESKTOP-07DQ4D0 
* CLR 版本 ：4.0.30319.42000
* 作    者 ：Me.笨先生 (66623978)
* 创建时间 ：2018/2/14 11:18:35
* 更新时间 ：2018/2/14 11:18:35
* 版 本 号 ：v1.0.0.0
*******************************************************************
* Copyright @ admin 2018. All rights reserved.
*******************************************************************
//----------------------------------------------------------------*/
#endregion

using APP.Trading.Entity;
using APP.CommonLib.Utils;
using APP.CommonLib.Config;
using APP.CommonLib.XService;
using APP.CommonLib.Validation;

namespace APP.Trading.Handler
{
    /// <inheritdoc>
    ///     <cref></cref>
    /// </inheritdoc>
    /// <summary>
    /// </summary>
    public class RechargeHandler : ValidateBase, IServiceHandler
    {
        public ServiceResult Invoke(ServiceRequest req)
        {
            var parammeter = JsonHelper.JsonDeserialize<RechargeParameter>(req.data) ?? new RechargeParameter();
            parammeter.MemberId = req.mid;

            //基础参数验证
            var result = Validate(parammeter, out var msg, true);
            if (result != ServiceResultStatus.Ok)
            {
                return ServiceResult.Exception(result, msg);
            }

            var rechargeState = ConfigManager.GetWebConfig("rechargeState", "false");
            if (rechargeState != "true") return ServiceEngine.Request("TradingService.Recharge", parammeter);
            var rechargeStateMsg = ConfigManager.GetWebConfig("rechargeStateMsg", "系统维护，暂停充值操作");
            return ServiceResult.Exception(ServiceResultStatus.Tip, rechargeStateMsg);
        }
    }
}